// pages/login/login.ts
const api = require("../../utils/api");
const util = require("../../utils/common");

Page({

  /**
   * 页面的初始数据
   */
  data: {
    formData: {
      username: '',
      password: ''
    },
    isShow: false
  },
  // 输入
  onChange (e) {
    const field = e.target.dataset.field;     
    this.setData({
      [`formData.${field}`]: e.detail.value
    }) 
  },
  // 登录
  submitForm () {
    const {username, password} = this.data.formData;
    if (username && password) {
      wx.showLoading({
        title: '登录中..',
      })
      api.login(this.data.formData).then(res => {
        if (res?.token) {
          console.log('登录成功', res);
          const userInfo = {
            userName: res.user_dispaly_name,
            email: res.user_email,
            nickName: res.user_nicename
          }
          wx.setStorageSync('token', res.token);
          wx.setStorageSync('user', userInfo);
          wx.hideLoading();
          const pages = getCurrentPages();
          // 获取从哪个页面进入当前页面
          const prevPage = pages[pages.length - 2];
          if (prevPage.route == 'pages/register/register') {
            wx.switchTab({
              url: '/pages/mine/mine'
            })
          } else {
            // 登录完成后返回上一个页面
            wx.navigateBack({
              delta: 1
            })
          }
        }
      }).catch(err => {
        util.showToast('用户名或密码错误');
        console.log('登录失败');
      })
    } else {
      const title = !username? '请输入用户名': '请输入密码';
      wx.showToast({
        title: title,
        icon: 'none',
        duration: 2000
      })
    }
  },
  // 注册
  onRegister () {
    wx.navigateTo({
      url: '/pages/register/register'
    })
  },
  onIconChange () {  
    this.setData({
      isShow: !this.data.isShow
    })
  }
})